home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Moscow ML 1.31 / source code / mosml / xtra / src / !runtime / prims.c
Encoding:
Text File  |  1995-09-05  |  9.0 KB  |  483 lines  |  [TEXT/R*ch]

  1. // 30Aug95 e
  2.  
  3. #include "mlvalues.h"
  4. #include "prims.h"
  5.  
  6. extern value compare();
  7. extern value equal();
  8. extern value notequal();
  9. extern value lessthan();
  10. extern value lessequal();
  11. extern value greaterthan();
  12. extern value greaterequal();
  13. extern value extern_val();
  14. extern value extern_compact_val();
  15. extern value format_float();
  16. extern value float_of_string();
  17. extern value exp_float();
  18. extern value log_float();
  19. extern value sqrt_float();
  20. extern value power_float();
  21. extern value sin_float();
  22. extern value cos_float();
  23. extern value tan_float();
  24. extern value asin_float();
  25. extern value acos_float();
  26. extern value atan_float();
  27. extern value atan2_float();
  28. extern value gc_stat();
  29. extern value gc_get();
  30. extern value gc_set();
  31. extern value gc_minor();
  32. extern value gc_major();
  33. extern value gc_full_major();
  34. extern value hash_univ_param();
  35. extern value intern_val();
  36. extern value int_of_string();
  37. extern value format_int();
  38. extern value open_descriptor();
  39. extern value channel_descriptor();
  40. extern value channel_size();
  41. extern value flush();
  42. extern value output_char();
  43. extern value output_int();
  44. extern value output();
  45. extern value seek_out();
  46. extern value pos_out();
  47. extern value close_out();
  48. extern value input_char();
  49. extern value input_int();
  50. extern value input();
  51. extern value seek_in();
  52. extern value pos_in();
  53. extern value close_in();
  54. extern value input_scan_line();
  55. extern value get_next_char();
  56. extern value start_interp();
  57. extern value realloc_global();
  58. extern value static_alloc();
  59. extern value static_free();
  60. extern value static_resize();
  61. extern value obj_is_block();
  62. extern value obj_block();
  63. extern value available_primitives();
  64. extern value parse_engine();
  65. extern value create_string();
  66. extern value compare_strings();
  67. extern value blit_string();
  68. extern value fill_string();
  69. extern value is_printable();
  70. extern value sys_exit();
  71. extern value sys_open();
  72. extern value sys_close();
  73. extern value sys_remove();
  74. extern value sys_rename();
  75. extern value sys_chdir();
  76. extern value sys_getenv();
  77. extern value sys_system_command();
  78. extern value sys_catch_break();
  79.  
  80. extern value sml_equal();
  81. extern value sml_not_equal();
  82. extern value sml_system();
  83. extern value sml_abs_int();
  84. extern value sml_floor();
  85. extern value sml_abs_real();
  86. extern value sml_sqrt();
  87. extern value sml_sin();
  88. extern value sml_cos();
  89. extern value sml_exp();
  90. extern value sml_ln();
  91. extern value sml_int_of_string();
  92. extern value sml_concat();
  93. extern value sml_chr();
  94. extern value sml_ord();
  95. extern value sml_float_of_string();
  96. extern value sml_string_of_int();
  97. extern value sml_string_of_float();
  98. extern value sml_makestring_of_char();
  99. extern value sml_makestring_of_string();
  100. extern value sml_getrealtime();
  101. extern value sml_getrutime();
  102. extern value sml_errno();
  103. extern value sml_getdir();
  104. extern value sml_mkdir();
  105. extern value sml_rmdir();
  106. extern value sml_opendir();
  107. extern value sml_rewinddir();
  108. extern value sml_readdir();
  109. extern value sml_closedir();
  110. extern value sml_isdir();
  111. extern value sml_modtime();
  112. extern value sml_settime();
  113. extern value sml_access();
  114. extern value sml_mktemp();
  115. extern value sml_errormsg();
  116. extern value sml_asin();
  117. extern value sml_acos();
  118. extern value sml_atan2();
  119. extern value sml_pow();
  120. extern value sml_localtime();
  121. extern value sml_gmtime();
  122. extern value sml_mktime();
  123. extern value sml_asctime();
  124. extern value sml_strftime();
  125. extern value sml_general_string_of_float();
  126. extern value sml_realpath();
  127. extern value sml_uname();
  128. extern value sml_islink();
  129. extern value sml_readlink();
  130.  
  131. extern value get_timer();
  132. extern value beg_timer();
  133. extern value end_timer();
  134. extern value clr_timer();
  135. extern value dump_image();
  136. extern value set_line_width();
  137. extern value draw_arc();
  138. extern value create_image();
  139. extern value draw_char();
  140. extern value text_size();
  141. extern value wait_event();
  142. extern value fill_poly();
  143. extern value make_image();
  144. extern value fill_rect();
  145. extern value plot();
  146. extern value draw_image();
  147. extern value set_color();
  148. extern value sound();
  149. extern value lineto();
  150. extern value moveto();
  151. extern value clear_graph();
  152. extern value blit_image();
  153. extern value draw_string();
  154. extern value current_point();
  155. extern value size_x();
  156. extern value size_y();
  157. extern value point_color();
  158. extern value fill_arc();
  159. extern value close_graph();
  160. extern value set_font();
  161. extern value open_graph();
  162. extern value set_text_size();
  163.  
  164. c_primitive cprim[] = {
  165.   compare,
  166.   equal,
  167.   notequal,
  168.   lessthan,
  169.   lessequal,
  170.   greaterthan,
  171.   greaterequal,
  172.   extern_val,
  173.   extern_compact_val,
  174.   format_float,
  175.   float_of_string,
  176.   exp_float,
  177.   log_float,
  178.   sqrt_float,
  179.   power_float,
  180.   sin_float,
  181.   cos_float,
  182.   tan_float,
  183.   asin_float,
  184.   acos_float,
  185.   atan_float,
  186.   atan2_float,
  187.   gc_stat,
  188.   gc_get,
  189.   gc_set,
  190.   gc_minor,
  191.   gc_major,
  192.   gc_full_major,
  193.   hash_univ_param,
  194.   intern_val,
  195.   int_of_string,
  196.   format_int,
  197.   open_descriptor,
  198.   channel_descriptor,
  199.   channel_size,
  200.   flush,
  201.   output_char,
  202.   output_int,
  203.   output,
  204.   seek_out,
  205.   pos_out,
  206.   close_out,
  207.   input_char,
  208.   input_int,
  209.   input,
  210.   seek_in,
  211.   pos_in,
  212.   close_in,
  213.   input_scan_line,
  214.   get_next_char,
  215.   start_interp,
  216.   realloc_global,
  217.   static_alloc,
  218.   static_free,
  219.   static_resize,
  220.   obj_is_block,
  221.   obj_block,
  222.   available_primitives,
  223.   parse_engine,
  224.   create_string,
  225.   compare_strings,
  226.   blit_string,
  227.   fill_string,
  228.   is_printable,
  229.   sys_exit,
  230.   sys_open,
  231.   sys_close,
  232.   sys_remove,
  233.   sys_rename,
  234.   sys_chdir,
  235.   sys_getenv,
  236.   sys_system_command,
  237.   sys_catch_break,
  238.  
  239.   sml_equal,
  240.   sml_not_equal,
  241.   sml_system,
  242.   sml_abs_int,
  243.   sml_floor,
  244.   sml_abs_real,
  245.   sml_sqrt,
  246.   sml_sin,
  247.   sml_cos,
  248.   sml_exp,
  249.   sml_ln,
  250.   sml_int_of_string,
  251.   sml_concat,
  252.   sml_chr,
  253.   sml_ord,
  254.   sml_float_of_string,
  255.   sml_string_of_int,
  256.   sml_string_of_float,
  257.   sml_makestring_of_char,
  258.   sml_makestring_of_string,
  259.   sml_getrealtime,
  260.   sml_getrutime,
  261.   sml_errno,
  262.   sml_getdir,
  263.   sml_mkdir,
  264.   sml_rmdir,
  265.   sml_opendir,
  266.   sml_rewinddir,
  267.   sml_readdir,
  268.   sml_closedir,
  269.   sml_isdir,
  270.   sml_modtime,
  271.   sml_settime,
  272.   sml_access,
  273.   sml_mktemp,
  274.   sml_errormsg,
  275.   sml_asin,
  276.   sml_acos,
  277.   sml_atan2,
  278.   sml_pow,
  279.   sml_localtime,
  280.   sml_gmtime,
  281.   sml_mktime,
  282.   sml_asctime,
  283.   sml_strftime,
  284.   sml_general_string_of_float,
  285.   sml_realpath,
  286.   sml_uname,
  287.   sml_islink,
  288.   sml_readlink,
  289.  
  290.   get_timer,
  291.   beg_timer,
  292.   end_timer,
  293.   clr_timer,
  294.   dump_image,
  295.   set_line_width,
  296.   draw_arc,
  297.   create_image,
  298.   draw_char,
  299.   text_size,
  300.   wait_event,
  301.   fill_poly,
  302.   make_image,
  303.   fill_rect,
  304.   plot,
  305.   draw_image,
  306.   set_color,
  307.   sound,
  308.   lineto,
  309.   moveto,
  310.   clear_graph,
  311.   blit_image,
  312.   draw_string,
  313.   current_point,
  314.   size_x,
  315.   size_y,
  316.   point_color,
  317.   fill_arc,
  318.   close_graph,
  319.   set_font,
  320.   open_graph,
  321.   set_text_size,
  322.   0 };
  323.  
  324. char * names_of_cprim[] = {
  325.   "compare",
  326.   "equal",
  327.   "notequal",
  328.   "lessthan",
  329.   "lessequal",
  330.   "greaterthan",
  331.   "greaterequal",
  332.   "extern_val",
  333.   "extern_compact_val",
  334.   "format_float",
  335.   "float_of_string",
  336.   "exp_float",
  337.   "log_float",
  338.   "sqrt_float",
  339.   "power_float",
  340.   "sin_float",
  341.   "cos_float",
  342.   "tan_float",
  343.   "asin_float",
  344.   "acos_float",
  345.   "atan_float",
  346.   "atan2_float",
  347.   "gc_stat",
  348.   "gc_get",
  349.   "gc_set",
  350.   "gc_minor",
  351.   "gc_major",
  352.   "gc_full_major",
  353.   "hash_univ_param",
  354.   "intern_val",
  355.   "int_of_string",
  356.   "format_int",
  357.   "open_descriptor",
  358.   "channel_descriptor",
  359.   "channel_size",
  360.   "flush",
  361.   "output_char",
  362.   "output_int",
  363.   "output",
  364.   "seek_out",
  365.   "pos_out",
  366.   "close_out",
  367.   "input_char",
  368.   "input_int",
  369.   "input",
  370.   "seek_in",
  371.   "pos_in",
  372.   "close_in",
  373.   "input_scan_line",
  374.   "get_next_char",
  375.   "start_interp",
  376.   "realloc_global",
  377.   "static_alloc",
  378.   "static_free",
  379.   "static_resize",
  380.   "obj_is_block",
  381.   "obj_block",
  382.   "available_primitives",
  383.   "parse_engine",
  384.   "create_string",
  385.   "compare_strings",
  386.   "blit_string",
  387.   "fill_string",
  388.   "is_printable",
  389.   "sys_exit",
  390.   "sys_open",
  391.   "sys_close",
  392.   "sys_remove",
  393.   "sys_rename",
  394.   "sys_chdir",
  395.   "sys_getenv",
  396.   "sys_system_command",
  397.   "sys_catch_break",
  398.  
  399.   "sml_equal",
  400.   "sml_not_equal",
  401.   "sml_system",
  402.   "sml_abs_int",
  403.   "sml_floor",
  404.   "sml_abs_real",
  405.   "sml_sqrt",
  406.   "sml_sin",
  407.   "sml_cos",
  408.   "sml_exp",
  409.   "sml_ln",
  410.   "sml_int_of_string",
  411.   "sml_concat",
  412.   "sml_chr",
  413.   "sml_ord",
  414.   "sml_float_of_string",
  415.   "sml_string_of_int",
  416.   "sml_string_of_float",
  417.   "sml_makestring_of_char",
  418.   "sml_makestring_of_string",
  419.   "sml_getrealtime",
  420.   "sml_getrutime",
  421.   "sml_errno",
  422.   "sml_getdir",
  423.   "sml_mkdir",
  424.   "sml_rmdir",
  425.   "sml_opendir",
  426.   "sml_rewinddir",
  427.   "sml_readdir",
  428.   "sml_closedir",
  429.   "sml_isdir",
  430.   "sml_modtime",
  431.   "sml_settime",
  432.   "sml_access",
  433.   "sml_mktemp",
  434.   "sml_errormsg",
  435.   "sml_asin",
  436.   "sml_acos",
  437.   "sml_atan2",
  438.   "sml_pow",
  439.   "sml_localtime",
  440.   "sml_gmtime",
  441.   "sml_mktime",
  442.   "sml_asctime",
  443.   "sml_strftime",
  444.   "sml_general_string_of_float",
  445.   "sml_realpath",
  446.   "sml_uname",
  447.   "sml_islink",
  448.   "sml_readlink",
  449.  
  450.   "get_timer",
  451.   "beg_timer",
  452.   "end_timer",
  453.   "clr_timer",
  454.   "dump_image",
  455.   "set_line_width",
  456.   "draw_arc",
  457.   "create_image",
  458.   "draw_char",
  459.   "text_size",
  460.   "wait_event",
  461.   "fill_poly",
  462.   "make_image",
  463.   "fill_rect",
  464.   "plot",
  465.   "draw_image",
  466.   "set_color",
  467.   "sound",
  468.   "lineto",
  469.   "moveto",
  470.   "clear_graph",
  471.   "blit_image",
  472.   "draw_string",
  473.   "current_point",
  474.   "size_x",
  475.   "size_y",
  476.   "point_color",
  477.   "fill_arc",
  478.   "close_graph",
  479.   "set_font",
  480.   "open_graph",
  481.   "set_text_size",
  482.   (char *) 0 };
  483.